像 Webpack、Parcel 這些老工具,啟動專案時會先把所有檔案打包成一坨,再丟給瀏覽器。
這就造成:
專案小 → 沒感覺
專案大 → 等半天(啟動超慢)
1.利用瀏覽器原生 ES Modules
2.開發模式 vs. 打包模式
開發模式:使用 esbuild
(用 Go 寫的超快轉譯器)做即時轉換,快到飛起。
生產模式:最後要上線時,Vite 會用 Rollup 幫你打包成最佳化的靜態檔案(JS、CSS、HTML)。
3.快取機制
你輸入 npm run dev → 啟動 Vite 開發伺服器。
瀏覽器請求檔案 → Vite 用 esbuild 轉換後再丟回去。
Vite 的架構就是靠 ES Modules + esbuild 即時轉譯 + Rollup 打包,把「開發快」和「生產穩定」兩者兼顧。
它的設計理念很簡單:用瀏覽器能理解的東西,不要幫它做太多額外打包。